# --------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# --------------------------------------------------------------------------------------------
# Generated from AutoscaleCondition.g4 by ANTLR 4.13.1
# encoding: utf-8
# pylint: disable=all
from antlr4 import *
from io import StringIO
import sys
from typing import TextIO


def serializedATN():
    return [
        4,0,26,233,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,
        2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,
        13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,
        19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,
        26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,
        32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,
        39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,1,0,1,0,1,1,1,1,1,2,1,2,1,
        3,1,3,1,4,1,4,1,5,1,5,1,6,1,6,1,7,1,7,1,8,1,8,1,9,1,9,1,10,1,10,
        1,11,1,11,1,12,1,12,1,12,1,13,1,13,1,13,1,14,1,14,1,15,1,15,1,16,
        1,16,1,17,1,17,1,18,1,18,1,19,1,19,1,20,1,20,1,21,1,21,1,22,1,22,
        1,23,1,23,1,24,1,24,1,25,1,25,1,26,1,26,1,27,1,27,1,28,1,28,1,29,
        1,29,1,30,1,30,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,32,1,33,1,33,
        1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,35,1,35,
        1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,36,1,36,1,36,1,37,1,37,1,37,
        1,37,1,37,1,37,1,37,1,37,1,37,1,37,3,37,195,8,37,1,38,4,38,198,8,
        38,11,38,12,38,199,1,38,1,38,4,38,204,8,38,11,38,12,38,205,3,38,
        208,8,38,1,39,1,39,1,40,4,40,213,8,40,11,40,12,40,214,1,41,3,41,
        218,8,41,1,41,1,41,4,41,222,8,41,11,41,12,41,223,1,42,1,42,1,42,
        1,42,4,42,230,8,42,11,42,12,42,231,0,0,43,1,1,3,2,5,3,7,4,9,5,11,
        6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,0,33,0,35,
        0,37,0,39,0,41,0,43,0,45,0,47,0,49,0,51,0,53,0,55,0,57,0,59,0,61,
        0,63,0,65,16,67,17,69,18,71,19,73,20,75,21,77,22,79,23,81,24,83,
        25,85,26,1,0,20,2,0,65,65,97,97,2,0,67,67,99,99,2,0,68,68,100,100,
        2,0,69,69,101,101,2,0,72,72,104,104,2,0,73,73,105,105,2,0,76,76,
        108,108,2,0,78,78,110,110,2,0,79,79,111,111,2,0,82,82,114,114,2,
        0,83,83,115,115,2,0,85,85,117,117,2,0,87,87,119,119,2,0,88,88,120,
        120,1,0,48,57,1,0,97,122,1,0,65,90,2,0,44,44,46,46,2,0,34,34,39,
        39,2,0,9,9,32,32,231,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,
        0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,
        0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,
        0,0,0,29,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,
        0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,
        0,0,0,83,1,0,0,0,0,85,1,0,0,0,1,87,1,0,0,0,3,89,1,0,0,0,5,91,1,0,
        0,0,7,93,1,0,0,0,9,95,1,0,0,0,11,97,1,0,0,0,13,99,1,0,0,0,15,101,
        1,0,0,0,17,103,1,0,0,0,19,105,1,0,0,0,21,107,1,0,0,0,23,109,1,0,
        0,0,25,111,1,0,0,0,27,114,1,0,0,0,29,117,1,0,0,0,31,119,1,0,0,0,
        33,121,1,0,0,0,35,123,1,0,0,0,37,125,1,0,0,0,39,127,1,0,0,0,41,129,
        1,0,0,0,43,131,1,0,0,0,45,133,1,0,0,0,47,135,1,0,0,0,49,137,1,0,
        0,0,51,139,1,0,0,0,53,141,1,0,0,0,55,143,1,0,0,0,57,145,1,0,0,0,
        59,147,1,0,0,0,61,149,1,0,0,0,63,151,1,0,0,0,65,153,1,0,0,0,67,159,
        1,0,0,0,69,163,1,0,0,0,71,172,1,0,0,0,73,181,1,0,0,0,75,194,1,0,
        0,0,77,197,1,0,0,0,79,209,1,0,0,0,81,212,1,0,0,0,83,221,1,0,0,0,
        85,229,1,0,0,0,87,88,5,47,0,0,88,2,1,0,0,0,89,90,5,46,0,0,90,4,1,
        0,0,0,91,92,5,42,0,0,92,6,1,0,0,0,93,94,5,45,0,0,94,8,1,0,0,0,95,
        96,5,95,0,0,96,10,1,0,0,0,97,98,5,58,0,0,98,12,1,0,0,0,99,100,5,
        37,0,0,100,14,1,0,0,0,101,102,5,35,0,0,102,16,1,0,0,0,103,104,5,
        64,0,0,104,18,1,0,0,0,105,106,5,92,0,0,106,20,1,0,0,0,107,108,5,
        44,0,0,108,22,1,0,0,0,109,110,5,124,0,0,110,24,1,0,0,0,111,112,5,
        61,0,0,112,113,5,61,0,0,113,26,1,0,0,0,114,115,5,33,0,0,115,116,
        5,61,0,0,116,28,1,0,0,0,117,118,5,126,0,0,118,30,1,0,0,0,119,120,
        7,0,0,0,120,32,1,0,0,0,121,122,7,1,0,0,122,34,1,0,0,0,123,124,7,
        2,0,0,124,36,1,0,0,0,125,126,7,3,0,0,126,38,1,0,0,0,127,128,7,4,
        0,0,128,40,1,0,0,0,129,130,7,5,0,0,130,42,1,0,0,0,131,132,7,6,0,
        0,132,44,1,0,0,0,133,134,7,7,0,0,134,46,1,0,0,0,135,136,7,8,0,0,
        136,48,1,0,0,0,137,138,7,9,0,0,138,50,1,0,0,0,139,140,7,10,0,0,140,
        52,1,0,0,0,141,142,7,11,0,0,142,54,1,0,0,0,143,144,7,12,0,0,144,
        56,1,0,0,0,145,146,7,13,0,0,146,58,1,0,0,0,147,148,7,14,0,0,148,
        60,1,0,0,0,149,150,7,15,0,0,150,62,1,0,0,0,151,152,7,16,0,0,152,
        64,1,0,0,0,153,154,3,55,27,0,154,155,3,39,19,0,155,156,3,37,18,0,
        156,157,3,49,24,0,157,158,3,37,18,0,158,66,1,0,0,0,159,160,3,31,
        15,0,160,161,3,45,22,0,161,162,3,35,17,0,162,68,1,0,0,0,163,164,
        3,41,20,0,164,165,3,45,22,0,165,166,3,33,16,0,166,167,3,43,21,0,
        167,168,3,53,26,0,168,169,3,35,17,0,169,170,3,37,18,0,170,171,3,
        51,25,0,171,70,1,0,0,0,172,173,3,37,18,0,173,174,3,57,28,0,174,175,
        3,33,16,0,175,176,3,43,21,0,176,177,3,53,26,0,177,178,3,35,17,0,
        178,179,3,37,18,0,179,180,3,51,25,0,180,72,1,0,0,0,181,182,3,47,
        23,0,182,183,3,49,24,0,183,74,1,0,0,0,184,195,5,60,0,0,185,186,5,
        60,0,0,186,195,5,61,0,0,187,188,5,61,0,0,188,195,5,61,0,0,189,190,
        5,62,0,0,190,195,5,61,0,0,191,195,5,62,0,0,192,193,5,33,0,0,193,
        195,5,61,0,0,194,184,1,0,0,0,194,185,1,0,0,0,194,187,1,0,0,0,194,
        189,1,0,0,0,194,191,1,0,0,0,194,192,1,0,0,0,195,76,1,0,0,0,196,198,
        3,59,29,0,197,196,1,0,0,0,198,199,1,0,0,0,199,197,1,0,0,0,199,200,
        1,0,0,0,200,207,1,0,0,0,201,203,7,17,0,0,202,204,3,59,29,0,203,202,
        1,0,0,0,204,205,1,0,0,0,205,203,1,0,0,0,205,206,1,0,0,0,206,208,
        1,0,0,0,207,201,1,0,0,0,207,208,1,0,0,0,208,78,1,0,0,0,209,210,7,
        18,0,0,210,80,1,0,0,0,211,213,7,19,0,0,212,211,1,0,0,0,213,214,1,
        0,0,0,214,212,1,0,0,0,214,215,1,0,0,0,215,82,1,0,0,0,216,218,5,13,
        0,0,217,216,1,0,0,0,217,218,1,0,0,0,218,219,1,0,0,0,219,222,5,10,
        0,0,220,222,5,13,0,0,221,217,1,0,0,0,221,220,1,0,0,0,222,223,1,0,
        0,0,223,221,1,0,0,0,223,224,1,0,0,0,224,84,1,0,0,0,225,230,3,61,
        30,0,226,230,3,63,31,0,227,230,3,59,29,0,228,230,5,95,0,0,229,225,
        1,0,0,0,229,226,1,0,0,0,229,227,1,0,0,0,229,228,1,0,0,0,230,231,
        1,0,0,0,231,229,1,0,0,0,231,232,1,0,0,0,232,86,1,0,0,0,11,0,194,
        199,205,207,214,217,221,223,229,231,0
    ]

class AutoscaleConditionLexer(Lexer):

    atn = ATNDeserializer().deserialize(serializedATN())

    decisionsToDFA = [ DFA(ds, i) for i, ds in enumerate(atn.decisionToState) ]

    T__0 = 1
    T__1 = 2
    T__2 = 3
    T__3 = 4
    T__4 = 5
    T__5 = 6
    T__6 = 7
    T__7 = 8
    T__8 = 9
    T__9 = 10
    T__10 = 11
    T__11 = 12
    T__12 = 13
    T__13 = 14
    T__14 = 15
    WHERE = 16
    AND = 17
    INCLUDES = 18
    EXCLUDES = 19
    OR = 20
    OPERATOR = 21
    NUMBER = 22
    QUOTE = 23
    WHITESPACE = 24
    NEWLINE = 25
    WORD = 26

    channelNames = [ "DEFAULT_TOKEN_CHANNEL", "HIDDEN" ]

    modeNames = [ "DEFAULT_MODE" ]

    literalNames = [ "<INVALID>",
            "'/'", "'.'", "'*'", "'-'", "'_'", "':'", "'%'", "'#'", "'@'", 
            "'\\'", "','", "'|'", "'=='", "'!='", "'~'" ]

    symbolicNames = [ "<INVALID>",
            "WHERE", "AND", "INCLUDES", "EXCLUDES", "OR", "OPERATOR", "NUMBER", 
            "QUOTE", "WHITESPACE", "NEWLINE", "WORD" ]

    ruleNames = [ "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", 
                  "T__7", "T__8", "T__9", "T__10", "T__11", "T__12", "T__13", 
                  "T__14", "A", "C", "D", "E", "H", "I", "L", "N", "O", 
                  "R", "S", "U", "W", "X", "DIGIT", "LOWERCASE", "UPPERCASE", 
                  "WHERE", "AND", "INCLUDES", "EXCLUDES", "OR", "OPERATOR", 
                  "NUMBER", "QUOTE", "WHITESPACE", "NEWLINE", "WORD" ]

    grammarFileName = "AutoscaleCondition.g4"

    def __init__(self, input=None, output:TextIO = sys.stdout):
        super().__init__(input, output)
        self.checkVersion("4.13.1")
        self._interp = LexerATNSimulator(self, self.atn, self.decisionsToDFA, PredictionContextCache())
        self._actions = None
        self._predicates = None


